#include "sqlist.h"
#include <stdio.h>

sqlink test_insert(){
	sqlink l = list_create();
	//1.新增元素
	list_insert(l, 10, 0);
	list_insert(l, 20, 0);
	list_insert(l, 30, 0);
	list_insert(l, 40, 0);
	list_insert(l, 50, 0);
	list_insert(l, 60, 0);
	//2.打印元素
	list_show(l);
	//3.判断顺序表是否为空
	printf("%d\n", list_empty(l));
	//4.顺序表的长度是多少
	printf("%d\n", list_length(l));
	//5.给一个值，返回该值在列表中的位置
	printf("%d\n", list_locate(l, 30));
	//6.往顺序表里指定位置插入某个值
	list_insert(l, 100, 3);
	list_show(l);
	//7. 删除顺序表里指定的值
	list_delete(l, 1);
	list_show(l);
	//8.重置一个顺序表
	list_clear(l);
	list_show(l);
	//9.释放顺序表里的所有内存
	list_free(l);
	return l;
}

void test_merge(){
	sqlink l1 = list_create();
	list_insert(l1, 10, 0);
	list_insert(l1, 20, 0);
	list_insert(l1, 30, 0);
	list_insert(l1, 40, 0);
	list_insert(l1, 50, 0);
	list_insert(l1, 60, 0);

	sqlink l2 = list_create();
	list_insert(l2, 10, 0);
	list_insert(l2, 20, 0);
	list_insert(l2, 80, 0);
	list_insert(l2, 90, 0);

	list_merge(l1, l2);

	list_show(l1);
}

void test_purge(){
	sqlink l1 = list_create();
	list_insert(l1, 10, 0);
	list_insert(l1, 10, 0);
	list_insert(l1, 10, 0);
	list_insert(l1, 10, 0);
	list_insert(l1, 50, 0);
	list_insert(l1, 60, 0);
	
	list_purge(l1);
	list_show(l1);
}

int main(){
	//1.测试基本方法
	test_insert();
	//2.合并两个顺序表
	test_merge();
	//3. 删除顺序表里重复元素
	test_purge();
	return 0;
}
